Design and Implementation of Bytecode-based Java Slicing System

نویسندگان

  • Fumiaki Umemori
  • Kenji Konda
  • Reishi Yokomori
  • Katsuro Inoue
چکیده

Program slice is a set of statements that affect the value of variable v in a statement s. In order to calculate a program slice, we must know the dependence relations between statements in the program. Program slicing techniques are roughly divided into two categories, static slicing and dynamic slicing, and we have proposed DC slicing technique which uses both static and dynamic information. In this paper, we propose a method of constructing a DC slicing system for Java programs. Java programs have many elements which are dynamically determined at the time of execution, so the DC slicing technique is effective in the analysis of Java programs. To construct the system, we have extended Java Virtual Machine for extraction of dynamic information. We have applied the system to several sample program to evaluate our approach.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Role of IPC in the Component-Based Operating System JX

In currently used operating systems hardware support is used to ensure the memory protection. The communication between protection domains is obviously slower than simple method invocations. Robust component-based services need a flexible system design and fast communication mechanism between different units of protection. We describe the Java operating system JX that uses the type safety of th...

متن کامل

Aspect-Oriented Design and Implementation of a Java Bytecode Analyzer Framework

We propose a new type of Java bytecode analyzer framework based on aspect-oriented design and programming. We also observe that aspect-oriented design and programming improve separation of concerns of many of the characteristics of the design, including extensibility, type safety, and execution efficiency of its design and implementation, when compared to existing analyzer frameworks based on o...

متن کامل

Dependence Analysis of Java Bytecode

Understanding program dependencies in a computer program is essential for many software engineering tasks such as program understanding, testing, debugging, reverse engineering, and maintenance. In this paper, we present an approach to dependence analysis of Java bytecode, and discuss some applications of our technique, which include Java bytecode slicing, understanding, and testing.

متن کامل

Functional Java Bytecode

We describe the design and implementation of λJVM, a functional representation of Java bytecode that makes data flow explicit, verification simple, and that is well-suited for translation into lower-level representations such as those used in optimizing compilers. It is a good alternative to stack-based Java bytecode for virtual machines or ahead-oftime compilers which optimize methods and prod...

متن کامل

COSTA: Design and Implementation of a Cost and Termination Analyzer for Java Bytecode

This paper describes the architecture of costa, an abstract interpretation based cost and termination analyzer for Java bytecode. The system receives as input a bytecode program, (a choice of) a resource of interest and tries to obtain an upper bound of the resource consumption of the program. costa provides several non-trivial notions of cost, as the consumption of the heap, the number of byte...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003